package com.yonyou.gmmc.service.information.util;

import java.security.MessageDigest;
import java.util.Date;

/**
 * 
 * 功能说明：加密算法 典型用法： 示例程序如下： 特殊用法： 创建者：zhangxianchao 创建时间：2011-6-24 修改人： 修改时间：
 * 修改原因： 修改内容： 版本：0.1
 */
public class MD5Encrypt {

	/**
	 * 
	 * 功能说明 :使用MD5加密 创建人 : zhangxianchao 最后修改日期 : 2011-6-24
	 * 
	 * @param sourceString
	 * @return
	 */
	public static String MD5Encode(String sourceString) {
		String resultString = null;
		try {
			resultString = new String(sourceString);
			MessageDigest md = MessageDigest.getInstance("MD5");
			resultString = byte2hexString(md.digest(resultString.getBytes()));
		} catch (Exception ex) {
		}
		return resultString;
	}

	/**
	 * 
	 * 功能说明 :转成16进制 创建人 : zhangxianchao 最后修改日期 : 2011-6-24
	 * 
	 * @param bytes
	 * @return
	 */
	public static final String byte2hexString(byte[] bytes) {
		StringBuffer buf = new StringBuffer(bytes.length * 2);
		for (int i = 0; i < bytes.length; i++) {
			if (((int) bytes[i] & 0xff) < 0x10) {
				buf.append("0");
			}
			buf.append(Long.toString((int) bytes[i] & 0xff, 16));
		}
		return buf.toString();
	}

	/**
	 * 
	 * 功能说明 :测试 创建人 : zhangxianchao 最后修改日期 : 2011-6-24
	 * 
	 * @param str
	 */
	public static void main(String[] str) {
		String b = new Date().getTime() + "";
		System.out.println(b);
		System.out.println("Gmmc_Members_Operation&1498556903440&asldkjfhalkjdrmn34df");
		System.out.println(MD5Encode("Gmmc_Members_Operation&1498556903440&asldkjfhalkjdrmn34df"));
	}
}
